A Pattern-Matching Compiler
Identifieur interne : 009224 ( Main/Exploration ); précédent : 009223; suivant : 009225A Pattern-Matching Compiler
Auteurs : Pierre-Etienne Moreau [France] ; Christophe Ringeissen [France] ; Marian Vittek [Slovaquie]Source :
- Electronic Notes in Theoretical Computer Science [ 1571-0661 ] ; 2001.
English descriptors
- Teeft :
- Algorithm, Aterm, Complex applications, Computer science, Concrete syntax, Data conversion, Elan, Electronic notes, Equality test, Equational, Equational theory, Error message, Evaluation mechanism, Evaluation strategies, Function symbol, Function symbols, Functional programming, Functional programming languages, Goal language, Ground term, Hand side, Imperative languages, Industrial applications, Innermost, Innermost normalisation, Input term, Internal representation, Kirchner, Lecture notes, Memory management, Moreau, Mtom, Mtom tool, Natural numbers, Normal form, Normal forms, Normalisation, Normalising, Normalising term, Normalising term construction function, Normalising term construction functions, Other hand, Peano arithmetics, Peano integers, Practical applications, Prime numbers, Programming, Programming language, Programming languages, Return statement, Right hand side, Ringeissen, Rule return, Second argument, Second rule, Semantic, Semantic action, Semantic actions, Sortedintlist, Struct, Struct sortedintlist, Struct term, Struct term term, Subterm, Subterms, Temporary variables, Term construction function, Term construction functions, Term representation, Theoretical computer science, Type struct term, User, Vittek, Wrong design.
Abstract
Abstract: Implementation of a rule-based transformation engine consists of several tasks with various abstraction levels. We present a new tool called mtom for the efficient implementation of rule-based transformations. This engine should help to bridge the gap between rewriting implementations and practical applications. It aims at implementing well-identified parts of complex applications where the use of rewriting is natural or crucial. These parts are specified using rewrite rules and integrated with the rest of the application, which is kept in a classical imperative language such as C, C++ or Java. Our tool, which can be viewed as a Yacc-like pre-processor, does not depend on a given term representation, rather it accepts implementation of terms (or term like data-types) of yet existing applications and it permits to define and execute rewrite rules upon those types. From our experiences, this system is well-suited for industrial use as well as for implementations of rule-based languages. The paper introduces several features supported by mtom.
Url:
DOI: 10.1016/S1571-0661(04)80926-5
Affiliations:
Links toward previous steps (curation, corpus...)
- to stream Istex, to step Corpus: 001939
- to stream Istex, to step Curation: 001920
- to stream Istex, to step Checkpoint: 001D65
- to stream Main, to step Merge: 009745
- to stream Main, to step Curation: 009224
Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title>A Pattern-Matching Compiler</title>
<author><name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
</author>
<author><name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
</author>
<author><name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:6CFE152082FB5B9CD017B2884ECC1E39BB950B1E</idno>
<date when="2001" year="2001">2001</date>
<idno type="doi">10.1016/S1571-0661(04)80926-5</idno>
<idno type="url">https://api.istex.fr/ark:/67375/6H6-X4Q61M9K-3/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">001939</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">001939</idno>
<idno type="wicri:Area/Istex/Curation">001920</idno>
<idno type="wicri:Area/Istex/Checkpoint">001D65</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">001D65</idno>
<idno type="wicri:doubleKey">1571-0661:2001:Moreau P:a:pattern:matching</idno>
<idno type="wicri:Area/Main/Merge">009745</idno>
<idno type="wicri:Area/Main/Curation">009224</idno>
<idno type="wicri:Area/Main/Exploration">009224</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a">A Pattern-Matching Compiler</title>
<author><name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
<affiliation wicri:level="3"><country xml:lang="fr">France</country>
<wicri:regionArea>LORIA-INRIA BP 239, 54506 Vandœuvre-lès-Nancy Cedex</wicri:regionArea>
<placeName><region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
<settlement type="city">Vandœuvre-lès-Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">France</country>
</affiliation>
</author>
<author><name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
<affiliation wicri:level="3"><country xml:lang="fr">France</country>
<wicri:regionArea>LORIA-INRIA BP 239, 54506 Vandœuvre-lès-Nancy Cedex</wicri:regionArea>
<placeName><region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
<settlement type="city">Vandœuvre-lès-Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">France</country>
</affiliation>
</author>
<author><name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
<affiliation wicri:level="1"><country xml:lang="fr">Slovaquie</country>
<wicri:regionArea>Institut of Informatica Mlynska dolina 842 15 Bratislava</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">Slovaquie</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="j">Electronic Notes in Theoretical Computer Science</title>
<title level="j" type="abbrev">ENTCS</title>
<idno type="ISSN">1571-0661</idno>
<imprint><publisher>ELSEVIER</publisher>
<date type="published" when="2001">2001</date>
<biblScope unit="volume">44</biblScope>
<biblScope unit="issue">2</biblScope>
<biblScope unit="page" from="161">161</biblScope>
<biblScope unit="page" to="180">180</biblScope>
</imprint>
<idno type="ISSN">1571-0661</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">1571-0661</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass><keywords scheme="Teeft" xml:lang="en"><term>Algorithm</term>
<term>Aterm</term>
<term>Complex applications</term>
<term>Computer science</term>
<term>Concrete syntax</term>
<term>Data conversion</term>
<term>Elan</term>
<term>Electronic notes</term>
<term>Equality test</term>
<term>Equational</term>
<term>Equational theory</term>
<term>Error message</term>
<term>Evaluation mechanism</term>
<term>Evaluation strategies</term>
<term>Function symbol</term>
<term>Function symbols</term>
<term>Functional programming</term>
<term>Functional programming languages</term>
<term>Goal language</term>
<term>Ground term</term>
<term>Hand side</term>
<term>Imperative languages</term>
<term>Industrial applications</term>
<term>Innermost</term>
<term>Innermost normalisation</term>
<term>Input term</term>
<term>Internal representation</term>
<term>Kirchner</term>
<term>Lecture notes</term>
<term>Memory management</term>
<term>Moreau</term>
<term>Mtom</term>
<term>Mtom tool</term>
<term>Natural numbers</term>
<term>Normal form</term>
<term>Normal forms</term>
<term>Normalisation</term>
<term>Normalising</term>
<term>Normalising term</term>
<term>Normalising term construction function</term>
<term>Normalising term construction functions</term>
<term>Other hand</term>
<term>Peano arithmetics</term>
<term>Peano integers</term>
<term>Practical applications</term>
<term>Prime numbers</term>
<term>Programming</term>
<term>Programming language</term>
<term>Programming languages</term>
<term>Return statement</term>
<term>Right hand side</term>
<term>Ringeissen</term>
<term>Rule return</term>
<term>Second argument</term>
<term>Second rule</term>
<term>Semantic</term>
<term>Semantic action</term>
<term>Semantic actions</term>
<term>Sortedintlist</term>
<term>Struct</term>
<term>Struct sortedintlist</term>
<term>Struct term</term>
<term>Struct term term</term>
<term>Subterm</term>
<term>Subterms</term>
<term>Temporary variables</term>
<term>Term construction function</term>
<term>Term construction functions</term>
<term>Term representation</term>
<term>Theoretical computer science</term>
<term>Type struct term</term>
<term>User</term>
<term>Vittek</term>
<term>Wrong design</term>
</keywords>
</textClass>
<langUsage><language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">Abstract: Implementation of a rule-based transformation engine consists of several tasks with various abstraction levels. We present a new tool called mtom for the efficient implementation of rule-based transformations. This engine should help to bridge the gap between rewriting implementations and practical applications. It aims at implementing well-identified parts of complex applications where the use of rewriting is natural or crucial. These parts are specified using rewrite rules and integrated with the rest of the application, which is kept in a classical imperative language such as C, C++ or Java. Our tool, which can be viewed as a Yacc-like pre-processor, does not depend on a given term representation, rather it accepts implementation of terms (or term like data-types) of yet existing applications and it permits to define and execute rewrite rules upon those types. From our experiences, this system is well-suited for industrial use as well as for implementations of rule-based languages. The paper introduces several features supported by mtom.</div>
</front>
</TEI>
<affiliations><list><country><li>France</li>
<li>Slovaquie</li>
</country>
<region><li>Grand Est</li>
<li>Lorraine (région)</li>
</region>
<settlement><li>Vandœuvre-lès-Nancy</li>
</settlement>
</list>
<tree><country name="France"><region name="Grand Est"><name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
</region>
<name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
</country>
<country name="Slovaquie"><noRegion><name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
</noRegion>
<name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 009224 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 009224 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Lorraine |area= InforLorV4 |flux= Main |étape= Exploration |type= RBID |clé= ISTEX:6CFE152082FB5B9CD017B2884ECC1E39BB950B1E |texte= A Pattern-Matching Compiler }}
This area was generated with Dilib version V0.6.33. |